package com.jt.mapper;

import com.jt.pojo.User;

import lombok.Data;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


@Mapper  //1.先将接口交给mybatis管理，之后将整个mybatis交给spring容器管理
         //2.动态代理机制，为接口创建代理对象Map<userMapper,JDK代理对象>
         //3.接口和实现类，为什么只有接口，没有实现类
         //   无需实现类，所有sql语句都写到映射文件中！！！！
//@RestController@Service@Repository

public interface UserMapper {

    //指定接口方法 查询demo_user的全部数据，将数据封装到list集合中
    List<User> findAll();


    void saveUser(User user);

    int saveUser2(User user);

    void updateUserById(User user);

    int deleteUser(User user);

    void deleteUserByName(String name);

    User findUserById(int id);

    List<User> findUserByMap(Map map);

    List<User> findUserByMId(@Param("minId") int minId,
                             @Param("maxId") int maxId);

    List<User> findUserByLike(String name);

    List<User> findUserByIn(Integer[] array);   //此时为单值，mybatis可以操作


    List<User> findUserByInMap(Map map);
}
